home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF)))) ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- dtbmv, stbmv, ztbmv, ctbmv, dtbsv, stbsv, ztbsv, ctbsv - BLAS Level Two
- Matrix-Vector Product and Solution of System of Equations.
-
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddttttbbbbmmmmvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddttttbbbbssssvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx
- ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssttttbbbbmmmmvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssttttbbbbssssvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx
- rrrreeeeaaaallll aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzttttbbbbmmmmvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzttttbbbbssssvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****))))
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ccccttttbbbbmmmmvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, aaaa,,,, kkkk,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ccccttttbbbbssssvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, aaaa,,,, kkkk,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg
- iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx
- ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****))))
-
-
- CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- vvvvooooiiiidddd ddddttttbbbbmmmmvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- vvvvooooiiiidddd ddddttttbbbbssssvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- MMMMaaaattttrrrriiiixxxxUUUUnnnniiiittttTTTTrrrriiiiaaaannnngggguuuullllaaaarrrr ddddiiiiaaaagggg;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx;;;;
- ddddoooouuuubbbblllleeee ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]];;;;
-
- vvvvooooiiiidddd ssssttttbbbbmmmmvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- vvvvooooiiiidddd ssssttttbbbbssssvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- MMMMaaaattttrrrriiiixxxxUUUUnnnniiiittttTTTTrrrriiiiaaaannnngggguuuullllaaaarrrr ddddiiiiaaaagggg;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx;;;;
- ffffllllooooaaaatttt ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]];;;;
-
- vvvvooooiiiidddd zzzzttttbbbbmmmmvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- vvvvooooiiiidddd zzzzttttbbbbssssvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF)))) ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF))))
-
-
-
- MMMMaaaattttrrrriiiixxxxUUUUnnnniiiittttTTTTrrrriiiiaaaannnngggguuuullllaaaarrrr ddddiiiiaaaagggg;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx;;;;
- ZZZZoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]];;;;
-
- vvvvooooiiiidddd ccccttttbbbbmmmmvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- vvvvooooiiiidddd ccccttttbbbbssssvvvv(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, ddddiiiiaaaagggg,,,, nnnn,,,, kkkk,,,, aaaa,,,, llllddddaaaa,,,, xxxx,,,, iiiinnnnccccxxxx ))))
- MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
- MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
- MMMMaaaattttrrrriiiixxxxUUUUnnnniiiittttTTTTrrrriiiiaaaannnngggguuuullllaaaarrrr ddddiiiiaaaagggg;;;;
- IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx;;;;
- CCCCoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]];;;;
-
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- ddddttttbbbbmmmmvvvv, ssssttttbbbbmmmmvvvv, zzzzttttbbbbmmmmvvvv and ccccttttbbbbmmmmvvvv perform one of the matrix-vector operations
-
- x := A*x, or x := A'*x, or x := conjg( A' )*x,
-
- where x is an n element vector and A is an n by n unit, or non-unit,
- upper or lower triangular band matrix, with ( k + 1 ) diagonals.
-
- ddddttttbbbbssssvvvv, ssssttttbbbbssssvvvv, zzzzttttbbbbssssvvvv and ccccttttbbbbssssvvvv solve one of the systems of equations
-
- A*x = b, or A'*x = b, or conjg( A' )*x = b,
-
- where b and x are n element vectors and A is an n by n unit, or non-unit,
- upper or lower triangular band matrix, with ( k + 1 ) diagonals. No test
- for singularity or near-singularity is included in these routines. Such
- tests must be performed before calling these routines.
-
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- uuuupppplllloooo On entry, uuuupppplllloooo specifies whether the matrix is an upper or lower
- triangular matrix as follows:
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- uplo = 'U' or 'u' A is an upper triangular matrix.
- uplo = 'L' or 'l' A is a lower triangular matrix.
-
- CCCC
- uplo = UpperTriangle A is an upper triangular matrix.
- uplo = LowerTriangle A is a lower triangular matrix.
-
- Unchanged on exit.
-
- ttttrrrraaaannnnssss On entry, ttttrrrraaaannnnssss ssssppppeeeecccciiiiffffiiiieeeessss tttthhhheeee ooooppppeeeerrrraaaattttiiiioooonnnn ttttoooo bbbbeeee
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- trans = 'N' or 'n' x := A*x / A*x = b.
- trans = 'T' or 't' x := A'*x / A'*x = b.
- trans = 'C' or 'c' x := conjg( A' )*x /
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF)))) ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF))))
-
-
-
- conjg( A' )*x = b.
-
- CCCC
- trans = NoTranspose x := A*x / A*x = b.
- trans = Transpose x := A'*x / A'*x = b.
- trans = ConjugateTranspose x := conjg( A' )*x /
- conjg( A' )*x = b.
-
- For real value matrices, ttttrrrraaaannnnssss='C' and ttttrrrraaaannnnssss='T' has the same
- meaning.
-
- Unchanged on exit.
-
- ddddiiiiaaaagggg On entry, ddddiiiiaaaagggg specifies whether or not A is unit triangular as
- follows:
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- diag = 'U' or 'u' A is assumed to be unit triangular.
- diag = 'N' or 'n' A is not assumed to be unit triangular.
-
- CCCC
- diag = UnitTriangular A is assumed to be unit
- triangular.
- diag = NotUnitTriangular A is not assumed to be unit
- triangular.
-
- Unchanged on exit.
-
- nnnn On entry, nnnn specifies the order of the matrix A. nnnn must be at
- least zero.
- Unchanged on exit.
-
- kkkk On entry, with uuuupppplllloooo ==== ''''UUUU'''' oooorrrr ''''uuuu'''' oooorrrr UUUUppppppppeeeerrrrTTTTrrrriiiiaaaannnngggglllleeee , kkkk specifies
- the number of super-diagonals of the matrix A.
-
- On entry with uuuupppplllloooo ==== ''''LLLL'''' oooorrrr ''''llll'''' oooorrrr LLLLoooowwwweeeerrrrTTTTrrrriiiiaaaannnngggglllleeee , kkkk specifies
- the number of sub-diagonals of the matrix A.
-
- kkkk must satisfy 0 .le. k.
-
- Unchanged on exit.
-
- aaaa An array containing the matrix A.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN
- Array of dimension ( lda, n ).
-
- CCCC
- A pointer to an array of size lda*n containing the matrix A.
- See note below about array storage convention for C.
-
- Before entry with uuuupppplllloooo ==== ''''UUUU'''' oooorrrr ''''uuuu'''' oooorrrr UUUUppppppppeeeerrrrTTTTrrrriiiiaaaannnngggglllleeee , the
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF)))) ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF))))
-
-
-
- leading ( k + 1 ) by n part of the array aaaa must contain the upper
- triangular band part of the matrix of coefficients, supplied
- column by column, with the leading diagonal of the matrix in row
- ( k + 1 ) of the array, the first super-diagonal starting at
- position 2 in row k, and so on. The top left k by k triangle of
- the array aaaa is not referenced. The following Fortran program
- segment will transfer an upper triangular band matrix from
- conventional full matrix storage to band storage:
-
- DO 20, J = 1, N
- M = K + 1 - J
- DO 10, I = MAX( 1, J - K ), J
- A( M + I, J ) = matrix( I, J )
- 10 CONTINUE
- 20 CONTINUE
-
- Before entry with uuuupppplllloooo ==== ''''LLLL'''' oooorrrr ''''llll''''oooorrrr LLLLoooowwwweeeerrrrTTTTrrrraaaaiiiinnnngggglllleeee , the leading
- ( k + 1 ) by n part of the array aaaa must contain the lower
- triangular band part of the matrix of coefficients, supplied
- column by column, with the leading diagonal of the matrix in row
- 1 of the array, the first sub-diagonal starting at position 1 in
- row 2, and so on. The bottom right k by k triangle of the array aaaa
- is not referenced. The following Fortran program segment will
- transfer a lower triangular band matrix from conventional full
- matrix storage to band storage:
-
- DO 20, J = 1, N
- M = 1 - J
- DO 10, I = J, MIN( N, J + K )
- A( M + I, J ) = matrix( I, J )
- 10 CONTINUE
- 20 CONTINUE
-
- Note that when ddddiiiiaaaagggg ==== ''''UUUU'''' oooorrrr ''''uuuu'''' oooorrrr , the elements of _a
- corresponding to the diagonal elements of the matrix A are not
- referenced either, but are assumed to be unity.
-
- Unchanged on exit.
-
- llllddddaaaa On entry, llllddddaaaa specifies the first dimension of A as declared in
- the calling (sub) program. llllddddaaaa must be at least max( 1, n ).
- Unchanged on exit.
-
- xxxx Array of size at least ( 1 + ( n - 1 )*abs( incx ) ). Before
- entry, the incremented array xxxx must contain the vector x. On
- exit, xxxx is overwritten with the transformed/solution vector x.
-
- iiiinnnnccccxxxx On entry, iiiinnnnccccxxxx specifies the increment for the elements of xxxx.
- iiiinnnnccccxxxx must not be zero.
- Unchanged on exit.
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF)))) ____TTTTBBBBMMMMVVVV,,,,____TTTTBBBBSSSSVVVV((((3333FFFF))))
-
-
-
- CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
- The matrices are assumed to be stored in a oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
- in an analogous fashion as a Fortran array (column major). Therefore,
- the element A(i+1,j) of matrix A is stored immediately after the
- element A(i,j), while A(i,j+1) is lda elements apart from A(i,j).
- The element A(i,j) of the matrix can be accessed directly by reference
- to a[ (j-1)*lda + (i-1) ].
-
-
- AAAAUUUUTTTTHHHHOOOORRRRSSSS
- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-